package com.websec.test;

import br.com.caelum.stella.boleto.Boleto;
import br.com.caelum.stella.boleto.Datas;
import br.com.caelum.stella.boleto.Emissor;
import br.com.caelum.stella.boleto.Sacado;
import br.com.caelum.stella.boleto.bancos.BancoDoBrasil;
import br.com.caelum.stella.boleto.bancos.Itau;
import br.com.caelum.stella.boleto.transformer.GeradorDeBoleto;
import br.com.websec.cliente.ClienteRN;

public class GeraBoletoTeste {  
    public static void main(String[] args) {  
        Datas datas = Datas.novasDatas()
	    .comDocumento(1, 5, 2008)
	    .comProcessamento(1, 5, 2008)
	    .comVencimento(2, 5, 2008);  
        
 

	Emissor emissor = Emissor.novoEmissor()  
            .comCedente("TGI São Judas")  
            .comAgencia(1824).comDigitoAgencia('4')  
            .comContaCorrente(76000)  
            .comNumeroConvenio(1207113)  
            .comDigitoContaCorrente('5')  
            .comCarteira(18)  
            .comNossoNumero(9000206)
            .comDigitoNossoNumero("1");

        Sacado sacado = Sacado.novoSacado()  
	    .comNome("Jocelio")  
            .comCpf("111.222.333-12")  
            .comEndereco("Av dos desejos, 69 apto 11")  
            .comBairro("Bairro Paraíso")  
            .comCep("01234-111")  
            .comCidade("São Paulo")  
            .comUf("SP");  

        BancoDoBrasil bancoDoBrasil = new BancoDoBrasil();
        
        Itau itau = new Itau();
        

	Boleto boleto = Boleto.novoBoleto()  
            .comBanco(bancoDoBrasil)  
            .comDatas(datas)  
            .comDescricoes("Trabalho de Graduação", "", "", "", "")  
            .comEmissor(emissor)  
            .comSacado(sacado)  
            .comValorBoleto("200.00")  
            .comNumeroDoDocumento("1234")  
            .comInstrucoes("Em atraso", "Cobrar multa de R$ 10,00", "Juros de R$ 2,00 ao dia", "Após Atraso, Pagamento apenas no Banco do Brasil", "")  
            .comLocaisDePagamento("local 1", "local 2");  

	
	Boleto boleto2 = Boleto.novoBoleto()  
            .comBanco(itau)  
            .comDatas(datas)  
            .comDescricoes("Trabalho de Graduação", "WebSec", "descricao 3", "descricao 4", "descricao 5")  
            .comEmissor(emissor)  
            .comSacado(sacado)  
            .comValorBoleto("392.00")  
            .comNumeroDoDocumento("1234")  
            .comInstrucoes("instrucao 1", "instrucao 2", "instrucao 3", "instrucao 4", "instrucao 5")  
            .comLocaisDePagamento("local 1", "local 2")
			.comEspecieDocumento("Duplicata Mercantil");
			
			
	

	
        GeradorDeBoleto geradorBB = new GeradorDeBoleto(boleto);
        
        GeradorDeBoleto geradorIT = new GeradorDeBoleto(boleto2);  

        // Para gerar um boleto em PDF  
        geradorBB.geraPDF("BancoDoBrasil.pdf");  

        // Para gerar um boleto em PNG  
        geradorBB.geraPNG("BancoDoBrasil.png");  

        // Para gerar um array de bytes a partir de um PDF  
        byte[] bPDF = geradorBB.geraPDF();  

        // Para gerar um array de bytes a partir de um PNG  
        byte[] bPNG = geradorBB.geraPNG();
        
        // Para gerar um boleto em PDF  
        geradorIT.geraPDF("BancoItau.pdf");  

        // Para gerar um boleto em PNG  
        geradorIT.geraPNG("BancoDoItau.png");  

        // Para gerar um array de bytes a partir de um PDF  
        byte[] iPDF = geradorIT.geraPDF();  

        // Para gerar um array de bytes a partir de um PNG  
        byte[] PNG = geradorIT.geraPNG();


    }  
}  